package fr.soat.agileconference2010.methodeschargees;

public class PersonneVerificateur {
  public boolean physiqueMinimum(Personne personne) {
    return estEnfant(personne) || estPetit(personne) || estMalade(personne);
  }

  private boolean estMalade(Personne personne) {
    return !personne.estEnBonneSante();
  }

  private boolean estPetit(Personne personne) {
    return personne.getTaille() <= 1.3;
  }

  private boolean estEnfant(Personne personne) {
    return personne.getAge() <= 12;
  }

  public boolean estConsidereMajeur(Personne personne) {
    return (estMineurAccompagne(personne)) || estMajeur(personne);
  }

  public boolean estMajeur(Personne personne) {
    return personne.getAge() > 18;
  }

  public boolean estMineurAccompagne(Personne personne) {
    return personne.getAge() < 18 && personne.estAccompagne();
  }
}
